package com.xziying.appstore.plugIn.cloud;

/**
 * TokenCloud 云令牌
 *
 * @author : xziying
 * @create : 2021-04-02 19:29
 */
public interface TokenCloud {

    /**
     * 获取当前token
     */
    String getToken() throws InterruptedException;

    /**
     * 堵塞所有读取token线程，准备更新token
     */
    void readyToUpdate() throws InterruptedException;


    /**
     * 完成token的更新，写入缓存，放行读取token线程
     * @param token 获取到的新token
     */
    void updateComplete(String token) throws InterruptedException;
}
